A computer network generally includes a number of devices, including switches, routers and hubs, connected to allow communication among the devices. The devices within a network are often categorized into two classes: end stations such as workstations, desktop PCs, printers, servers, hosts, fax machines, and devices that primarily supply or consume information; and network devices such as gateways, switches and routers that primarily forward information between the other devices.
Each device has one or more circuit boards, a microprocessor and a memory, and runs a control program. In general, networks often include several different types of data switching and routing devices. These network devices may have different physical characteristics. New devices, with characteristics that are presently unknown, are constantly being developed. The characteristics of many network devices may change over time. For example, characteristics of the network devices change when subsystems like boards, network interface modules, and other parts are added or removed from a device. Further, network devices ordinarily operate on a continuous basis. Accordingly, many networks are managed, supervised and maintained by a network administrator or network manager.
To properly maintain a network, the network administrator needs to have up-to-date information available about the devices in the network and how the devices are interconnected. A network management system or network management software may be used to automate these tasks. To obtain information about the network, the network management system may communicate with network devices using an agreed-upon network management protocol. An example of a network communication protocol that facilitates network management is Simple Network Management Protocol (“SNMP”), which is described in “Introduction to SNMPv3,” available on the Internet in the document “v3white.hmtl” of directory “snmpv3” at the World Wide Web domain “snmp.com”, and “Internetworking Technologies Handbook,” published by Cisco Systems, Inc.
SNMP is an asynchronous protocol that operates using a request-response model. A significant limitation of SNMP is that it may be used only for communications over networks that use Transmission Control Protocol and Internet Protocol (TCP/IP) for communication at lower network layers. There is a need for a way to use SNMP communications over networks that use other types of transport protocols such as IPX, SPX, and AppleTalk.
Certain network servers and other network devices communicate using the Remote Authentication Dial-In User Service (RADIUS) protocol. RADIUS is useful for controlling access, authentication, and accounting for remote users who dial in to a server to obtain network services. RADIUS is defined in, for example, “RADIUS: Remote Authentication Dial-In User Service: Remote Network Access Security in an Open Systems Environment,” available on the Internet as document “radius.html” at World Wide Web domain “kmi.com.” RADIUS operates below the application layer and tends to implemented in a network device in a way that is tightly coupled to the functions carried out by the device. In addition, because RADIUS is a lower-level protocol, obtaining and displaying management information in a human-perceivable manner requires use of an intermediate computer. Due to the limitations of RADIUS, some network management systems require one server for carrying out RADIUS access, authentication, and accounting (AAA) functions, and a second server that obtains RADIUS information, formats it, and generates one or more HTML pages containing the information.
FIG. 1 is a block diagram of a network management system in which Gateway 112 controls access by one or more Users 118 to a Managed Network 116. All network traffic directed from User 118 to Managed Network 116 must pass through Gateway 112 and is blocked unless the User is authenticated. Gateway 112 executes a Radius agent 114. For example, a system of this type may be used to configure a network using the 6510 Service Selection Gateway that is commercially available from Cisco Systems, Inc., San Jose, Calif. The Cisco 6510 contains three Fast Ethernet ports. A first port is connected to receive user traffic directed at a managed network; a second port is connected to the managed network; and the third port may be connected to a RADIUS server and a Service Selection Dashboard server on a separate subnet or the same network as the network side.
Gateway 112 communicates with Managed Network 116 and its devices using SNMP. A software application that provides user interface functions, DashBoard 108, executes in an HTTP Server 106 and communicates with the Gateway using a Radius host 110 complementary to Radius agent 114. HTTP Server 106 is coupled to Network 104 by a network link. A Client 100, which executes a Browser 102, is also coupled to Network 104 and may be located logically or physically remote from the Network, HTTP Server, and Gateway. Client 100 is a computer device such as a workstation, personal computer, server, or other equivalent network element. Network 104 in this embodiment is contemplated to be a global, packet-switched network that uses open protocols, such as the Internet. However, Network 104 may comprise any communication network. Browser 102 is an application program that may send and receive network information. Examples of commercial products that are suitable for use as Browser 102 are Microsoft Internet Explorer® and Netscape Navigator®.
In this arrangement, HTTP Server 106 communicates with Gateway 112 using RADIUS protocol messages, and communicates with Browser 102 using HTML over an HTTP network. This arrangement is functional, however, it would be simpler and less expense to provide a way to directly query and display RADIUS information using a client or server that can communicate using HTML. In addition, the foregoing arrangement requires the Gateway 112 or the DashBoard application 108 to store state information so that HTML transactions can be correlated with RADIUS transactions.
Another problem in this field is that streaming video information cannot be communicated efficiently over every network element. For example, there are now several different streaming video client programs available, such that streaming video is becoming ubiquitous. The video clients are capable of executing on a variety of platforms and can receive video information that is transported over many different network protocols. There is also increasing interest in the use of programs written in the Java® language to carry out network processing functions. However, at present Java® applets require the use of TCP/IP as a transport protocol.
A related problem is that using conventional streaming video clients and transport protocols, when a video stream is carried through the network, certain internetwork elements may not be set immediately to the best available quality of service. Delivery of streaming video requires network elements having high bandwidth and throughput to be continuously available. However, the network elements and the software that manages them may take considerable time to recognize the nature of the stream and set each internetwork element to an appropriate quality of service.
The Universal Resource Locator (URL) provides a way to identify a multimedia resource in a network. The URL is defined in T. Berners-Lee, “Uniform Resource Locators (URL): A Syntax for the Expression of Access Information of Objects on the Network,” Mar. 21, 1994. However, in the past, the use of URLs for locating information in a network has required a network that communicates using Hypertext Transfer Protocol (HTTP). This protocol is not available in all network devices. Many devices, such as switches and routers, cannot respond to control messages that are communicated using HTTP. In addition, HTTP works only at OSI Layer 4. Thus, there is a need for a system that use URLs to address network information at devices that do not use HTTP.